맨위로가기

컬러 그래픽스 어댑터

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

컬러 그래픽스 어댑터(CGA)는 IBM PC 및 호환 기종에서 사용된 최초의 컬러 그래픽스 카드 중 하나이다. 모토로라 6845 디스플레이 컨트롤러를 기반으로 하며, 16KB의 비디오 메모리를 내장했다. CGA는 다양한 비디오 모드를 제공하며, 160x100 해상도에서 16색, 320x200 해상도에서 4색, 640x200 해상도에서 2색을 지원하는 그래픽 모드와 40x25 또는 80x25 해상도의 텍스트 모드를 지원했다. CGA는 NTSC 호환 텔레비전 또는 컴포지트 비디오 모니터에 연결할 수 있었으며, RGBI 16색 팔레트를 사용했지만, 사용 중인 그래픽 모드에 따라 모든 색상을 사용할 수 있는 것은 아니었다. CGA는 1980년대 초반에 널리 사용되었지만, 이후 향상된 그래픽 어댑터(EGA)와 같은 경쟁 제품에 의해 대체되었다.

더 읽어볼만한 페이지

  • 컴퓨터 디스플레이 표준 - 해상도
    해상도는 1인치당 픽셀 또는 점의 수를 나타내는 지표로, 이미지의 선명도를 결정하며 DPI와 PPI 단위를 사용하고, 높을수록 섬세한 표현이 가능하다.
  • 컴퓨터 디스플레이 표준 - QVGA
    QVGA는 320×240 픽셀 해상도를 가진 저해상도 디스플레이 표준이며, 가로 길이를 확장한 QVGA+, 와이드 QVGA, 와이드 QVGA+, 풀 와이드 QVGA 등 다양한 파생 규격들이 존재한다.
컬러 그래픽스 어댑터
개요
IBM CGA 그래픽 카드
종류그래픽 카드
출시일1981년
아키텍처모토로라 6845, ATI CW16800
후속플랜트로닉스
PCjr/탠디
EGA
MCGA
PGC
특징
엔트리 레벨IBM 컬러 그래픽스 어댑터, ATI 그래픽스 솔루션 Rev 3, ATI 컬러 에뮬레이션 카드, Tseng Labs ColorPAK
미드레인지ATI 그래픽스 솔루션 plus, ATI 그래픽스 솔루션 Plus SP, ATI 그래픽스 솔루션 SR, Number Nine 그래픽스 시스템
하이엔드ATI 스몰 원더 그래픽스 솔루션, Tseng Labs EVA/480
매니아ATI 스몰 원더 그래픽스 솔루션 (게임 포트 포함)

2. 하드웨어 설계

CGA는 모토로라 6845 디스플레이 컨트롤러를 기반으로 제작되었으며, 16 킬로바이트의 비디오 메모리를 내장했다. 여러 그래픽 및 텍스트 모드를 지원했으며, 최고 화면 해상도는 640 × 200, 최고 색상 심도는 4비트(16색)였다.[1]

2. 1. 출력 기능

CGA는 RGBI 인터페이스를 통해 CRT 모니터에 직접 연결하거나, RCA 커넥터를 통해 NTSC 호환 텔레비전 또는 컴포지트 비디오 모니터에 연결할 수 있었다.[1] IBM은 CGA와 함께 사용하기 위해 IBM 5153 컬러 디스플레이를 제작했지만, 초기에는 사용할 수 없었고 1983년 3월에 출시되었다.[3][4]

3. 색상 팔레트

CGA는 4비트 RGBI 16색 색상 영역을 사용하며, 이는 빨강(Red), 초록(Green), 파랑(Blue), 강도(Intensity) 비트로 구성된다.[12]

4비트가 사용될 때(저해상도 모드 또는 색상 레지스터 프로그래밍의 경우) RGBI 색상 모델에 따라 배열된다.[12]

CGA 팔레트 내부 비트 배열(4비트 RGBI)[12]
색상IRGB색상IRGB
검정0000회색 21000
파랑0001밝은 파랑1001
녹색0010밝은 녹색1010
청록0011밝은 청록1011
빨강0100밝은 빨강1100
자홍0101밝은 자홍1101
갈색0110밝은 노랑1110
회색 10111흰색1111



RGBI 모니터를 사용할 때, 색상 6(어두운 노란색)은 IBM 5153 색상 디스플레이[10]부터 시작하는 대부분의 RGBI 모니터에서 특수 회로를 통해 녹색 신호 진폭을 줄여 갈색으로 표시되도록 처리된다.

전체 CGA 16색 팔레트
0검정
#000000
8짙은 회색
#555555
1파랑
#0000AA
9밝은 파랑
#5555FF
2녹색
#00AA00
10밝은 녹색
#55FF55
3청록색
#00AAAA
11밝은 청록색
#55FFFF
4빨강
#AA0000
12밝은 빨강
#FF5555
5자홍색
#AA00AA
13밝은 자홍색
#FF55FF
6갈색
#AA5500
14노랑
#FFFF55
7밝은 회색
#AAAAAA
15흰색
#FFFFFF
참고: 색상 16진수 값은 8비트 RGB 대응 값이며, 내부적으로 CGA는 4비트 RGBI임.


3. 1. 표준 색상 모드

CGA는 40x25 및 80x25 텍스트 모드를 지원하며, 각 문자열은 8x8 도트이다. 텍스트 모드에서 각 문자는 전경색과 배경색을 가질 수 있다. 기본적으로 배경색의 네 번째 비트는 깜박임 속성을 설정하는 데 사용되지만, 하드웨어 레지스터 설정을 통해 깜박임 기능을 비활성화하고 고강도 배경색을 사용할 수 있다.

각 문자 셀은 전경색과 배경색을 위해 4비트를 저장한다. 카드의 기본 설정에서 배경색의 네 번째 비트는 강도를 설정하는 대신 셀의 깜빡임 속성을 설정한다. 이 비트가 설정된 화면의 모든 문자는 주기적으로 깜빡이며, 전경색이 배경색으로 변경되어 문자가 보이지 않게 된다. 모든 문자는 동시에 깜빡인다.

깜빡임 속성은 기본적으로 활성화되어 있고, 고강도 배경 효과는 비활성화되어 있다. 깜빡임을 비활성화하면 배경색에 대해 8-15번 색상 인덱스를 자유롭게 선택할 수 있다.

MS-DOS에 포함된 GW-BASIC 및 마이크로소프트 QBASIC 프로그래밍 언어는 모든 색상 제어 기능을 갖춘 CGA의 모든 텍스트 모드를 지원했지만, BASIC 언어를 통해 CGA를 깜빡임 모드에서 16가지 배경색 모드로 전환하는 일반적인 방법을 제공하지 않았다. 그러나 BASIC 언어의 OUT 문을 사용하여 하드웨어 레지스터를 직접 프로그래밍하여 설정을 변경할 수 있었다.

3. 2. 표준 RGB 그래픽 모드

CGA는 일반적으로 다음과 같은 그래픽 모드를 제공한다.[5][6]

  • '''320×200 화소''': 40x25 텍스트 모드에서 각 화소는 독립적으로 설정될 수 있다.
  • '''640×200 화소''': 80x25 텍스트 모드에서 모든 화소는 독립적으로 설정될 수 있다.


CGA는 여러 가지 비디오 모드를 제공하는데, 그래픽 모드는 다음과 같다.[7]

  • 160 × 100 해상도: 16색 팔레트에서 선택한 16색을 사용한다. 80 × 25 텍스트의 특정 구성을 사용하며, 픽셀당 4비트를 사용하여 총 8KB의 메모리를 사용한다.
  • 320 × 200 해상도: 3개의 고정 팔레트에서 선택한 4색, 고휘도 및 저휘도 변형, 16색 팔레트에서 선택한 색상 1을 사용한다. 픽셀당 2비트를 사용하여 총 16KB의 메모리를 사용한다.
  • 640 × 200 해상도: 2색 (검은색 1개, 16색 팔레트에서 선택한 색상 1개)을 사용한다. 픽셀당 1비트를 사용하여 총 16KB의 메모리를 사용한다.


IBM은 CGA를 가정용 텔레비전과 호환되도록 설계했다. 40 × 25 텍스트 및 320 × 200 그래픽 모드는 텔레비전에서 사용할 수 있으며, 80 × 25 텍스트 및 640 × 200 그래픽 모드는 모니터용으로 설계되었다.

320 × 200 그래픽 모드에서는 4색 팔레트 중 하나를 선택할 수 있으며, 배경색은 16가지 색상 중 하나로 설정할 수 있다. 640 × 200 모드에서는 2색 (흑백)을 사용하며, 전경색은 16가지 색상 중 하나로 변경할 수 있다.

다음은 320x200 해상도에서 사용 가능한 팔레트를 보여주는 표이다.

CGA 하드웨어 팔레트 (RGBI 모니터 기준)
#모드 4모드 5
팔레트 0팔레트 1낮은 강도높은 강도
낮은 강도높은 강도낮은 강도높은 강도
00 – 배경0 – 배경0 – 배경0 – 배경0 – 배경0 – 배경
12 – 녹색10 – 밝은 녹색3 – 시안11 – 밝은 시안3 – 시안11 – 밝은 시안
24 – 빨강12 – 밝은 빨강5 – 자홍13 – 밝은 자홍4 – 빨강12 – 밝은 빨강
36 – 갈색14 – 노랑7 – 밝은 회색15 – 흰색7 – 밝은 회색15 – 흰색



640 × 200 모드에서는 기본적으로 검은색과 밝은 흰색을 사용하지만, 전경색은 16색 CGA 팔레트의 모든 항목으로 변경할 수 있다. 배경색은 원본 IBM CGA 카드에서는 검은색에서 변경할 수 없다.

CGA는 총 6개의 표시 모드(비디오 모드)를 지원하며, BIOS 인터럽트(INT 10h)를 통해 전환할 수 있다.

비디오 모드텍스트 해상도화면 해상도색상 수QBasic
04h40x25320x2004Screen 1
05h40x25320x2004 (흑백)-
06h80x25640x2002Screen 2


3. 3. 이후의 RGB 그래픽 모드 및 트윅

CGA의 RGBI 모니터는 더 나은 그래픽을 위해 여러 공식/비공식 기능을 제공했다.

  • 320x200 그래픽 모드에서 배경색을 검정에서 다른 15가지 색으로 바꿀 수 있었다. 이를 통해 화면을 다시 그리지 않고도 배경색을 바꿔 깜박임 효과 등을 낼 수 있었다.
  • 640x200 그래픽 모드에서는 흰색 배경색을 다른 15가지 색 중 하나로 변경할 수 있었다.
  • 텍스트 모드에서는 테두리 색을 검정에서 다른 15가지 색으로 바꿀 수 있었다.
  • 컬러 그래픽 모드에서 모노크롬 비트를 켜면 세 번째 320x200의 4색 팔레트(빨강, 하늘, 흰색, 전경색)를 사용할 수 있었다.
  • 정확한 타이밍을 통해 화면이 그려지는 동안 팔레트를 전환하여 스캔라인당 6개의 팔레트 중 하나를 사용할 수 있었다. 예를 들어, 게임 캘리포니아 게임즈는 4.77Mhz 8088에서 이 기능을 활용했다.[22] 프로거와 같이 배경색 변경을 활용한 예도 있다.[23]
  • 디더링을 통해 추가 색상을 표현할 수 있었다.


이러한 트윅 중 일부를 결합하여 사용할 수도 있었다.

기술적으로 그래픽 모드는 아니지만, 160x100의 16색 모드는 80x25 텍스트 모드의 기능을 수정하여 구현할 수 있었다. 문자 셀 높이 레지스터를 변경하여 한 문자 셀에 8 대신 2만 표시하도록 하고, 텍스트 행을 4배로 늘려 25행에서 100행으로 표시했다. 이렇게 하면 텍스트 문자열이 압축되어 완전한 문자열이 아니게 된다. 시스템은 한 행에서 다음 행으로 이동하기 전에 상위 화소 두 줄만 표시했다.

문자 221
파란색 텍스트와 빨간색 배경색을 가진 221
빨간색 텍스트와 파란색 배경색을 가진 221.
문자 222



확장 아스키 문자 세트의 문자 221은 왼쪽 절반, 문자 222는 오른쪽 절반을 차지하는 상자로 구성되어 있었다. 각 문자에 다른 전경색과 배경색을 할당할 수 있어 (예: 왼쪽 파랑, 오른쪽 밝은 빨강) 색상을 지정하거나 반전시킬 수 있었다. 이를 통해 160x100 픽셀을 16색으로 표현할 수 있었으며, 종횡비는 1:1.2였다.

CGA는 여러 가지 비디오 모드를 제공했다.[5][6]

그래픽 모드:


  • 160 × 100 해상도, 16색 팔레트에서 선택한 16색. 80 × 25 텍스트의 특정 구성을 사용
  • 픽셀당 4비트 사용, 총 메모리 사용량: (160 * 100 * 4) / 8 = 8,000 바이트.
  • 320 × 200 해상도, 3개의 고정 팔레트에서 선택한 4색, 고휘도 및 저휘도 변형, 16색 팔레트에서 선택한 색상 1개.
  • 픽셀당 2비트 사용, 총 메모리 사용량: (320 * 200 * 2) / 8 = 16,000 바이트.
  • 640 × 200 해상도, 2색(검은색 1개, 16색 팔레트에서 선택한 색상 1개).
  • 픽셀당 1비트 사용, 총 메모리 사용량: (640 * 200) / 8 = 16,000 바이트.
  • 일부 소프트웨어는 아티팩트 색상을 사용하여 복합 모니터에 연결했을 때 더 깊은 색상 깊이를 얻었다.


텍스트 모드:

  • 40 × 25 (유효 해상도 320 × 200), 8 픽셀 글꼴
  • 80 × 25 (유효 해상도 640 × 200), 8 픽셀 글꼴

4. 컴포지트 출력

RGBI 모니터 대신 컴포지트 출력을 사용하면 NTSC의 열악한 분리로 인해 화질이 저하된다.[31] 이는 80열 텍스트에서 특히 문제가 된다.[32]

RGB (왼쪽)와 컴포지트 모니터 (오른쪽)의 80열 텍스트


이러한 이유로 텍스트 및 그래픽 모드 각각에는 컴포지트 컬러버스트를 비활성화하여 흑백 사진을 생성하지만 색상 번짐을 제거하여 더 선명한 그림을 생성하는 중복 모드가 있다. RGBI 모니터에서 각 모드의 두 버전은 일반적으로 320 × 200 그래픽 모드를 제외하고 동일하며, 여기서 "흑백" 버전은 세 번째 팔레트를 생성한다.

프로그래머들은 이러한 결함을 장점으로 바꿀 수 있다는 것을 발견했는데, 고해상도 점들의 뚜렷한 패턴이 일관된 단색 영역으로 바뀌어 완전히 새로운 아티팩트 색상을 표시할 수 있게 되었기 때문이다. 표준 320 × 200 4색 모드와 640 × 200 검정색 바탕의 컬러 그래픽 모드 모두 이 기술을 사용할 수 있었다.

'''직접 색상'''은 "CGA 색상 팔레트"에 설명된 대로 일반적인 16가지 색상이다.

'''아티팩트 색상'''은 복합 모니터의 NTSC 크로마 디코더가 일부 휘도 정보를 색상으로 잘못 해석하기 때문에 나타난다. 프로그래머는 픽셀을 적절한 패턴으로 신중하게 배치하여 원하는 새로운 색상을 생성하는 특정 교차 색상 아티팩트를 생성할 수 있다. 640 × 200 모드에서 순수한 흑백 픽셀에서, 또는 320 × 200 모드에서 ''직접'' 색상과 ''아티팩트'' 색상의 ''조합''으로, 다음 그림과 같다.

------



320 × 200 모드와 640 × 200 모드 중에서 선택하고, 두 팔레트 중에서 선택하고, 하나의 자유롭게 선택 가능한 색상 (320 × 200 모드의 배경 및 640 × 200 모드의 전경)을 선택하면, 100가지가 넘는 색상 영역을 만들기 위해 다양한 아티팩트 색상 집합을 사용할 수 있다.

복합 모드에서 1024 색상


나중에 데모 애호가들은 CGA가 동시에 표시할 수 있는 최대 색상 수를 1024개로 늘렸다.[33][34] 이 기술은 텍스트 행 수를 4배로 늘리는 텍스트 모드 조정을 포함한다. 그런 다음 U 및 ‼과 같은 특정 ASCII 문자를 사용하여 필요한 패턴을 생성하여 복합 모니터에서 80 × 100의 유효 해상도를 가진 비디더링 이미지를 생성한다.[35]

이 기술의 320 × 200 변형은 표준 BIOS에서 지원하는 그래픽 모드가 컴포지트 컬러 모니터에서 보이는 방식이다. 그러나 640 × 200 변형은 CGA의 하드웨어 레지스터에서 비트(컬러 버스트 비활성화)를 직접 수정해야 한다. 결과적으로 일반적으로 별도의 "모드"로 지칭된다.

NTSC 인코딩/디코딩 프로세스에 완전히 의존하기 때문에 컴포지트 컬러 아티팩트는 RGBI 모니터에서는 사용할 수 없으며, EGA, VGA 또는 최신 그래픽 어댑터에서도 에뮬레이션되지 않는다.

최신 게임 중심 PC 에뮬레이터인 DOSBox는 컴포지트 모니터의 컬러 아티팩팅을 에뮬레이션할 수 있는 CGA 모드를 지원한다. 640 × 200 컴포지트 모드와 더 복잡한 320 × 200 변형을 모두 지원한다.

복합 아티팩트는 의도적으로 사용되든 원치 않는 아티팩트로 사용되든 수직 해상도는 변경하지 않고 유효 수평 해상도를 최대 160 픽셀로 줄인다. 검정색-흰색 또는 흰색-검정색 텍스트의 경우 더 높다. "아티팩트된" 색상으로 표시되는 결과 복합 비디오 디스플레이는 기술적으로 표준 모드를 사용했지만 때로는 160 × 200 / 16색 "모드"로 설명된다.

이 복합 색상 아티팩트 방식의 낮은 해상도로 인해 거의 독점적으로 게임에서 사용되었다. 많은 유명 타이틀은 복합 색상 모니터에 최적화된 그래픽을 제공했다. IBM PC로 이식된 게임 시리즈의 첫 번째 게임인 울티마 II는 CGA 복합 그래픽을 사용했다. 킹스 퀘스트 I도 PC, PCjr 및 Tandy 1000에서 16색 그래픽을 제공했지만 제목 화면에서 4색으로 제한된 일반 CGA 그래픽 모드만 활용하는 'RGB 모드'를 제공했다.

--
--
--


5. 표준 텍스트 모드

CGA는 다음의 2가지 텍스트 모드를 제공했다.


  • 40×25 문자열: 최대 16색. 각 문자열은 8x8 도트이다. 각 화소가 독립적으로 할당되지 않음에도 불구하고 이 모드에서 효과적인 화면 해상도는 320x200 화소이다. (화소 가로세로비는 1:1.2)
  • 80×25 문자열: 최대 16색. 각 문자열은 8x8 도트 (40x25의 것과 같은 문자열 세트)이며, 화소의 가로세로비가 1:2.4이다. 이 모드에서 효과적인 화면 해상도는 640x200 화소이다. 이 모드에서 화면 위에 출력할 수 있는 문자열이 두 배나 되었는데, 다시 말해 이 카드는 4개의 다른 텍스트 페이지를 위해 충분한 비디오 램을 가지고 있었다.


CGA는 4가지 BIOS 텍스트 모드를 제공한다(IBM 문서에서는 모드 0에서 3까지, 영숫자 또는 A/N 모드라고 함). 이러한 모드에서는 화면의 개별 픽셀을 직접 지정할 수 없다. 대신 화면은 문자 셀 그리드로 나뉘며, 각 셀은 카드 ROM에 포함된 "일반" 및 "얇은" 두 가지 비트맵 글꼴 중 하나에 정의된 문자를 표시한다. 글꼴은 고정되어 있으며 소프트웨어에서 수정하거나 선택할 수 없고, 보드의 점퍼로만 선택할 수 있다.

글꼴은 1비트의 색상 깊이로 비트맵으로 저장되며, "1"은 문자를 나타내고 "0"은 배경을 나타낸다. 이러한 색상은 화면의 각 문자에 대해 전체 16색 CGA 팔레트에서 독립적으로 선택할 수 있다. 문자 집합은 하드웨어 코드 페이지 437에 의해 정의된다.

BIOS 모드 01은 모두 40열 × 25행의 텍스트 모드로, 각 문자는 8×8 도트 패턴으로 표현된다. 이 모드에서 실제 화면 해상도는 320 × 200 픽셀이며, 픽셀 종횡비는 1:1.2이다. 이 모드에서 카드는 8개의 서로 다른 텍스트 페이지를 저장할 수 있는 충분한 비디오 램을 가지고 있다.

이 두 모드의 차이점은 컴포지트 모니터에서만 확인할 수 있는데, 모드 0은 컬러 버스트를 비활성화하여 모든 텍스트가 회색조로 표시된다. 모드 1은 컬러 버스트를 활성화하여 컬러를 사용할 수 있게 한다.

BIOS 모드 23은 80열 25행 텍스트 모드를 선택하며, 각 문자는 8×8 도트 패턴으로 표시되지만 더 높은 주사율로 표시된다. 이 모드의 유효 화면 해상도는 640 × 200 픽셀이다. 이 모드에서 카드는 네 개의 서로 다른 텍스트 페이지를 위한 충분한 비디오 RAM을 갖는다.

40열 텍스트 모드와 마찬가지로, 모드 2는 컴포지트 신호의 색상 버스트를 비활성화하고 모드 3은 이를 활성화한다.

각 문자 셀은 전경색과 배경색을 위해 4비트를 저장했다. 그러나, 카드의 기본 설정에서 배경색의 네 번째 비트는 강도를 설정하는 것이 아니라 셀의 깜빡임 속성을 설정한다. 이 비트가 설정된 화면의 모든 문자는 주기적으로 깜빡인다.

하드웨어 레지스터를 설정하면 깜빡임 기능을 비활성화하여 고강도 배경색에 접근할 수 있다.

화면의 모든 깜빡이는 문자는 동기화되어 깜빡인다. 깜빡임 속성 효과는 기본적으로 활성화되어 있고 고강도 배경 효과는 비활성화되어 있다. 깜빡임을 비활성화하는 것이 배경색에 대해 후자의 8가지 색상 인덱스(8-15)를 자유롭게 선택할 수 있는 유일한 방법이다.

특히 MS-DOS에 포함된 GW-BASIC 및 마이크로소프트 QBASIC 프로그래밍 언어는 모든 색상 제어 기능을 갖춘 CGA의 모든 텍스트 모드를 지원했지만, BASIC 언어를 통해 CGA를 깜빡임 모드에서 16가지 배경색 모드로 전환할 수 있는 일반적인 방법을 제공하지 않았다. 그러나 BASIC 언어의 OUT 문을 사용하여 하드웨어 레지스터를 직접 프로그래밍하여 이것이 여전히 가능했다.

6. 표준 그래픽 모드

CGA는 160 × 100, 320 × 200, 640 × 200의 세 가지 해상도의 그래픽 모드를 제공한다. 모든 모드에서 화면의 모든 픽셀을 직접 설정할 수 있지만, 높은 해상도 모드에서는 색상 깊이에 제한이 있었다.


  • 320 × 200 해상도: 4색을 표현할 수 있다. 3가지 팔레트와 고/저휘도 옵션이 제공되며, 16색 팔레트에서 1가지 색상을 선택할 수 있다.[5][6] 픽셀당 2비트를 사용하며, 총 메모리 사용량은 16,000이다.
  • 640 × 200 해상도: 2색을 표현할 수 있다. 16색 팔레트에서 1가지 색상을 선택할 수 있으며, 검은색과 선택한 색상으로 표현된다.[5][6] 픽셀당 1비트를 사용하며, 총 메모리 사용량은 16,000이다.


IBM은 CGA를 가정용 텔레비전과 호환되도록 설계했다. 따라서 320 × 200 그래픽 모드는 텔레비전에서 사용할 수 있었고, 640 × 200 그래픽 모드는 모니터용으로 설계되었다.[7]

일부 소프트웨어는 아티팩트 색상을 이용하여 복합 모니터에서 더 많은 색상을 표현하기도 했다.

CGA의 비디오 모드는 BIOS 인터럽트를 통해 전환할 수 있었다. (INT 10h, AH=00h, AL=비디오 모드)

비디오 모드텍스트 해상도화면 해상도색상 수QBasic
04h40x25320x2004Screen 1
05h40x25320x2004 (흑백)-
06h80x25640x2002Screen 2


6. 1. 160 × 100

Color Graphics Adapter|컬러 그래픽스 어댑터영어 (CGA)는 160 × 100 해상도에서 16색을 표시할 수 있는 그래픽 모드를 제공한다. 이 모드는 실제로는 그래픽 모드가 아니라 80 × 25 문자 모드를 수정한 것이다.[21] 문자 셀 높이 레지스터를 변경하여 일반적인 8줄 대신 문자 셀당 2줄만 표시하도록 함으로써, 표시되는 텍스트 행 수를 25개에서 100개로 늘렸다. 이렇게 "꽉 짜인" 텍스트 문자는 전체 문자가 아니며, 시스템은 다음 행으로 이동하기 전에 픽셀의 상위 두 줄만 표시한다.

문자 221
파란색 텍스트와 빨간색 배경색을 가진 221
빨간색 텍스트와 파란색 배경색을 가진 221
문자 222



CGA 문자 집합에서 문자 221은 문자 매트릭스의 왼쪽 절반을, 문자 222는 오른쪽 절반을 차지하는 상자로 구성된다. 각 문자에 서로 다른 전경 및 배경 색상을 할당할 수 있어, 예를 들어 전경색은 파란색, 배경색은 밝은 빨간색으로 지정할 수 있다. 전경색과 배경색을 바꾸면 반전된 색상을 얻을 수 있다.

문자 221 또는 222를 사용하면 각 잘린 문자 셀의 절반을 개별 픽셀로 처리할 수 있다. 이를 통해 라인당 160개의 가로 픽셀을 사용할 수 있으며, 결과적으로 160 × 100 픽셀, 16색, 1:1.2 종횡비의 그래픽을 구현할 수 있다.

160 × 100 모드에서 하나의 큰 "픽셀". 이것은 문자 221의 절반의 상위 두 행이다. 8개의 구성 요소인 정사각형이 아닌 픽셀과 전체적인 1:1.2 종횡비를 확인하십시오.


이 방식은 16색 그래픽을 구현하기 위한 우회적인 방법이지만, 매우 잘 작동하여 IBM의 공식 하드웨어 문서에도 언급되었다. 1983년에 출시된 게임 ''Moon Bugs''에서 이 모드가 사용되었다.

아스키 아트를 활용하면 이 모드에서 더 많은 세부 정보를 표현할 수 있다. ''Icon: Quest for the Ring''(1984년)과 ''The Seven Spirits of Ra''(1987년) 게임에서 이러한 기술이 사용되었다.

40 × 25 텍스트 모드에서도 동일한 텍스트 셀 높이 감소 기술을 적용하여 80 × 100 해상도를 만들 수 있다.

160 × 100 모드를 사용하는 팩맨 클론인 PakuPaku의 타이틀 화면

6. 2. 320 × 200

320 × 200 모드에서 각 픽셀은 2비트를 사용하며, 이는 4색 팔레트에서 색상을 선택한다.[5][6] 이 모드는 픽셀당 2비트를 사용하며, 총 메모리 사용량은 (320 * 200 * 2) / 8 = 16,000이다.

IBM은 CGA가 가정용 텔레비전과 호환되도록 의도했기 때문에, 320 × 200 그래픽 모드는 텔레비전에서 사용할 수 있다.[7]

CGA 하드웨어 팔레트(RGBI 모니터 기준)는 다음과 같다.

CGA 하드웨어 팔레트 (RGBI 모니터 기준)
#모드 4모드 5
팔레트 0팔레트 1낮은 강도높은 강도
낮은 강도높은 강도낮은 강도높은 강도
00 – 배경0 – 배경0 – 배경0 – 배경0 – 배경0 – 배경
12 – 녹색10 – 밝은 녹색3 – 시안11 – 밝은 시안3 – 시안11 – 밝은 시안
24 – 빨강12 – 밝은 빨강5 – 자홍13 – 밝은 자홍4 – 빨강12 – 밝은 빨강
36 – 갈색14 – 노랑7 – 밝은 회색15 – 흰색7 – 밝은 회색15 – 흰색



하드웨어 레지스터를 프로그래밍하여 여러 선택 사항을 만들 수 있다. 첫째, 팔레트 선택. 둘째, 강도 – 이는 픽셀별로가 아닌 전체 화면에 대해 정의된다. 셋째, 색상 0 ("배경"색상)은 16가지 색상 중 하나로 설정할 수 있다.

BIOS 모드 4는 녹색/빨강/갈색과 시안/자홍/흰색의 두 가지 팔레트를 제공한다.

텍스트 모드 0과 2와 마찬가지로, '''모드 5'''는 색상 버스트를 비활성화하여 컴포지트 모니터에서 색상이 회색조로 나타나도록 한다. 그러나 텍스트 모드와 달리, 이는 RGBI 모니터에 표시되는 색상에도 영향을 미쳐, 위에 표시된 시안/빨강/흰색 팔레트로 변경한다.

CGA는 320 × 200 해상도에서 4색 팔레트 3개 중 선택, 고휘도 및 저휘도, 16색 팔레트에서 색상 1을 선택하는 그래픽 모드를 제공했다.

CGA 소프트웨어 이미지 비교:

CGA 소프트웨어 이미지 예시:

CGA의 비디오 모드는 BIOS 인터럽트를 통해 전환할 수 있다. (INT 10h, AH=00h, AL=비디오 모드)

비디오 모드텍스트 해상도화면 해상도색상 수QBasic
04h40x25320x2004Screen 1
05h40x25320x2004 (흑백)-


6. 3. 640 × 200

CGA의 640 × 200 모드에서 각 픽셀은 1비트를 사용하며, 하드웨어 레지스터를 프로그래밍하여 16색 팔레트에서 선택할 수 있는 두 가지 색상을 표현한다.[5][6] 이 모드에서 비디오 그림은 픽셀당 1비트로 "전경" 또는 "배경" 색상을 설정하는 단순한 비트맵으로 저장된다. 기본적으로 색상은 검은색과 밝은 흰색이지만, 전경색은 16색 CGA 팔레트의 যেকোনো 항목으로 변경할 수 있다. 반면 배경색은 원본 IBM CGA 카드에서 검은색으로 고정되어 변경할 수 없었다.[5][6]

이 모드는 기본적으로 컴포지트 컬러 버스트 신호를 비활성화한다. BIOS는 640 × 200 모드에서 컬러 버스트를 켜는 옵션을 제공하지 않으므로, 사용자는 모드 제어 레지스터에 직접 값을 입력하여 활성화해야 한다.[5][6]

640 × 200 해상도는 픽셀당 1비트를 사용하므로 총 16 킬로바이트 ( (640 * 200) / 8 = 16,000)의 메모리를 사용한다.

CGA는 총 6개의 표시 모드(비디오 모드)를 지원했는데, 4개의 텍스트 모드와 2개의 그래픽 모드로 구성되어 있다. 비디오 모드는 BIOS 인터럽트(INT 10h, AH=00h, AL=비디오 모드)를 통해 전환할 수 있었다.

비디오 모드텍스트 해상도화면 해상도색상 수QBasic
06h80x25640x2002Screen 2


7. 한계점

CGA는 프로그램이 화면을 그리는 동안 비디오 메모리에 직접 쓰기를 하면 화면에 임의의 짧은 가로선("스노우")이 나타나는 문제가 있었다. BIOS는 수평 귀선 동안에만 메모리에 접근하거나 스크롤하는 동안 출력을 일시적으로 끄는 방식으로 이 문제를 회피했지만, 다른 비디오 어댑터나 대부분의 CGA 복제품에서는 "스노우" 문제가 발생하지 않는다.[37]

80열 텍스트 모드에서는 픽셀 클럭 주파수가 두 배가 되어 모든 동기화 신호가 두 배의 클럭 사이클 동안 출력된다. 하지만 복합 출력의 컬러 버스트 신호 회로는 예외인데, 컬러 버스트 신호는 여전히 동일한 수의 사이클을 출력하지만 두 배의 클럭 속도로 출력하므로 대부분의 모니터에서 컬러 버스트 신호가 너무 짧아져 색상이 없거나 불안정해진다. 따라서 IBM 문서는 80열 텍스트 모드를 RGBI 및 흑백 복합 모니터에서만 사용 가능한 "기능"으로 설명한다.[37] 테두리 색상을 갈색으로 설정하면 안정적인 색상을 얻을 수 있는데, 이는 올바른 컬러 버스트 신호와 동일한 위상을 생성하여 이를 대체하기 때문이다.

8. 경쟁 어댑터

CGA는 여러 경쟁 제품이 있었다.


  • 비즈니스 및 워드 프로세싱 용도로 IBM은 CGA와 동시에 흑백 디스플레이 어댑터(MDA)를 제공했다. MDA는 처음에는 CGA보다 훨씬 더 인기가 있었다.[42]
  • 1982년, 비 IBM 허큘리스 그래픽 카드(HGC)가 PC용 최초의 서드 파티 비디오 카드로 출시되었다. MDA 호환 텍스트 모드 외에도 CGA보다 높은 720×348 픽셀의 흑백 그래픽 모드를 제공했다.
  • 또한 1982년에는 Plantronics Colorplus 보드가 출시되어 표준 CGA 보드의 메모리 (16KB에 비해 32KB)의 두 배를 제공했다. 추가 메모리는 그래픽 모드에서 색상 깊이를 두 배로 늘리는 데 사용되어, 320 × 200 해상도에서 16색 또는 640 × 200 해상도에서 4색의 두 가지 추가 그래픽 모드를 제공했다.
  • IBM PCjr (1984) 및 호환 Tandy 1000 (1985)은 비디오 RAM을 16KB 이상으로 확장하여 320 × 200 해상도에서 16색, 640 × 200 해상도에서 4색을 허용하는 온보드 "확장 CGA" 비디오 하드웨어를 갖추고 있었다. Tandy 1000이 PCjr보다 오랫동안 살아남았기 때문에 비디오 모드는 Tandy 그래픽 어댑터(TGA)로 알려지게 되었고 1980년대에 게임에 매우 인기가 있었다.
  • 1984년, IBM은 CAD 애플리케이션을 위한 하이엔드 그래픽 솔루션인 전문가용 그래픽 컨트롤러를 출시했다. 이는 대부분 CGA와 하위 호환되었다.


기타 대안:

  • Paradise Systems는 1984년에 MDA 모니터용으로 최초의 성공적인 CGA 호환 카드를 출시했다. CGA의 16가지 색상을 흑백 음영으로 표시했다.[43]
  • Olivetti M24 / AT&T 6300, DEC VAXmate, 일부 Compaq 및 Toshiba 휴대용 기기 등을 포함한 일부 CGA 호환 칩셋의 또 다른 확장 기능은 수직 해상도를 두 배로 늘린 것이다. 이를 통해 더 높은 품질의 8 × 16 텍스트 디스플레이와 추가적인 640 × 400 그래픽 모드를 제공한다.

9. 소프트웨어 지원

CGA는 1990년대까지 PC 소프트웨어에서 널리 지원되었다. 이 보드를 지원하는 소프트웨어는 다음과 같다.


  • 비지 온(Visi On) (초창기 GUI로, 640x200 흑백 모드 사용)
  • 윈도우 3.0 (및 이전 버전, 640x200 흑백 모드 지원[39])
  • OS/2 1.1 (및 이전 버전)
  • GEM(Graphics Environment Manager)

10. 규격

CGA 그래픽 카드는 모토로라 6845 디스플레이 컨트롤러를 기반으로 제작되었으며, 16 킬로바이트의 비디오 메모리를 가졌다.[1] 최고 화면 해상도는 640 × 200, 최고 색상 심도는 4비트(16색)였다.

CGA 카드는 IBM 5153 컬러 디스플레이와 같은 4비트 디지털(TTL) RGBI 인터페이스를 사용하는 CRT 모니터나, RCA 커넥터를 통해 NTSC 호환 텔레비전 또는 컴포지트 비디오 컴퓨터 모니터에 연결할 수 있었다.[1] IBM은 CGA와 함께 사용하기 위해 ''5153 퍼스널 컴퓨터 컬러 디스플레이''를 제작했지만, 1983년 3월까지 출시되지 않았다.[4]

CGA는 4비트 RGBI 16색 색상 영역을 사용하며, 저해상도 모드 또는 색상 레지스터 프로그래밍의 경우 RGBI 색상 모델에 따라 배열된다.[12]

CGA 팔레트 내부 비트 배열(4비트 RGBI)[12]
색상IRGB색상IRGB
검정0000회색 21000
파랑0001밝은 파랑1001
녹색0010밝은 녹색1010
청록0011밝은 청록1011
빨강0100밝은 빨강1100
자홍0101밝은 자홍1101
갈색0110밝은 노랑1110
회색 10111흰색1111


  • 하위 3비트는 빨강, 녹색 및 파랑 색상 구성 요소를 나타낸다.
  • 네 번째 "강도" 비트가 설정되면 세 가지 색상 구성 요소(빨강, 녹색 및 파랑)의 밝기가 증가한다.[8]


색상 6은 특별하게 처리된다. 일반적으로 ''어두운 노란색''이 되지만, IBM 5153 색상 디스플레이[10]부터 시작하는 대부분의 RGBI 모니터는 녹색 신호의 진폭을 줄여 어두운 노란색에서 갈색으로 색조를 변경한다.

표준 CGA 팔레트는 다음과 같다:[9]

전체 CGA 16색 팔레트
0검정
#000000
8짙은 회색
#555555
1파랑
#0000AA
9밝은 파랑
#5555FF
2녹색
#00AA00
10밝은 녹색
#55FF55
3청록색
#00AAAA
11밝은 청록색
#55FFFF
4빨강
#AA0000
12밝은 빨강
#FF5555
5자홍색
#AA00AA
13밝은 자홍색
#FF55FF
6갈색
#AA5500
14노랑
#FFFF55
7밝은 회색
#AAAAAA
15흰색
#FFFFFF
참고: 색상 16진수 값은 8비트 RGB
대응 값이며, 내부적으로 CGA는 4비트 RGBI입니다.



NTSC 출력을 사용할 때 CGA의 16가지 색상(1983년 이후 카드 개정판)


복합 색상 출력의 경우, 4비트 색상 번호는 CGA의 온보드 하드웨어에 의해 카드의 RCA 출력 잭으로 공급되는 NTSC 호환 신호로 인코딩된다. RGBI 모니터 대신 컴포지트 출력을 사용하면 NTSC의 열악한 분리로 인해 화질이 저하된다.[31] 프로그래머들은 이러한 결함을 장점으로 활용하여 새로운 아티팩트 색상을 표시할 수 있었다.

10. 1. 연결 단자

CGA는 RGBI 모니터 연결을 위해 표준 DE-9 커넥터를 사용한다.[1] 카드 뒷면의 DE-9 커넥터는 암컷이고, 모니터 케이블의 커넥터는 수컷이다.

'''CGA DE-9 커넥터 핀 할당'''[46]
핀 번호기능
1접지
2접지
3빨강
4녹색
5파랑
6명도
7(예약됨)
8수평 동기화
9수직 동기화



CGA 신호는 다음과 같다.

CGA TTL 신호
유형디지털, TTL
해상도640h × 200v, 320h × 200v
수평 주파수15699.8 Hz (14.318181 MHz/8/114)
수직 주파수59.923 Hz (수평 주파수/262)
색상16


10. 2. 신호

CGA는 디지털 TTL 신호를 사용하며, 수평 주파수는 15.75 kHz, 수직 주파수는 60 Hz이다.[44]

CGA TTL 신호
유형디지털, TTL
해상도640h × 200v, 320h × 200v
수평 주파수15699.8 Hz (14.318181 MHz/8/114)
수직 주파수59.923 Hz (수평 주파수/262)
색상16


참조

[1] 서적 Encyclopaedia of Management of Computer Hardware https://books.google[...] Anmol Publications
[2] 서적 IBM CGA manual http://minuszerodegr[...]
[3] 뉴스 A Closer Look at the IBM Personal Computer https://archive.org/[...] 2013-10-19
[4] 간행물 Announcement Letter Number 183-002 - IBM COLOR DISPLAY, 5153 http://www-01.ibm.co[...] International Business Machines Corporation 1983-02-04
[5] 서적 IBM CGA manual http://minuszerodegr[...]
[6] 웹사이트 CGA Compatibility Tester reference video https://archive.org/[...] 2020-10-14
[7] 뉴스 The Creation of the IBM PC https://archive.org/[...] 2016-04-02
[8] 문서 The color brown, represented by R=1, G=1, B=0, I=0, is an exception; whereas a straight interpretation of these bit values would resolve this color as dark yellow, the intensity of the green component is reduced, to produce brown, for only this one [[4-bit]] value. See [[List of 8-bit computer hardware palettes#CGA|this page]] for details. This special RGBI interpretation for brown is performed in the monitor; the IBM 5153 monitor designed for the CGA performs it, but some early third-party monitors did not.
[9] 웹사이트 The IBM 5153's True CGA Palette and Color Output https://int10h.org/b[...] VileR 2024-05-18
[10] 간행물 IBM Personal Computer XT Technical Reference Manual International Business Machines Corporation 1983
[11] 웹사이트 Representing IBM 5153 color output more accurately | Vintage Computer Federation Forums https://forum.vcfed.[...] Forum.vcfed.org 2022-03-21
[12] 서적 IBM Personal Computer Hardware Reference Library: IBM Enhanced Color Display http://minuszerodegr[...]
[13] 서적 Tandy CM-2 Color Monitor Service Manual https://archive.org/[...]
[14] 서적 Tandy CM-4 Color Monitor Service Manual
[15] 서적 Sams&Company ComputerFacts Technical Service Data: Magnavox® Model 7BM613074G - Radio Shack® Model CM11 Monitor https://archive.org/[...]
[16] 문서 Composite video color signal generation from digital color signals 1984
[17] 간행물 IBM Personal Computer XT Technical Reference Manual International Business Machines Corporation 1983
[18] 웹사이트 CGA in 1024 Colors - a New Mode: the Illustrated Guide https://int10h.org/b[...] 2020-10-17
[19] Technical Reference IBM Personal Computer https://archive.org/[...] 1983-04
[20] Technical Reference IBM Color/Graphics Monitor Adapter http://www.minuszero[...]
[21] 서적 IBM Color/Graphics Monitor Adapter http://minuszerodegr[...] IBM
[22] 웹사이트 California Games Screenshots for DOS https://www.mobygame[...]
[23] 웹사이트 Frogger (1983) screenshots https://www.mobygame[...]
[24] 웹사이트 Video Modes Supported : CGA (Tweaked) https://www.mobygame[...]
[25] 웹사이트 ibm :: pc :: cards :: Technical Reference Options and Adapters Volume 2 Apr84 https://archive.org/[...] 2020-01-09
[26] 웹사이트 Moon Bugs (1983) screenshots https://www.mobygame[...] 2023-01-06
[27] Citation Moon Bugs http://archive.org/d[...] 2023-01-06
[28] 웹사이트 CGA in 1024 Colors - a New Mode: the Illustrated Guide https://int10h.org/b[...] 2023-01-06
[29] 웹사이트 Icon: Quest for the Ring for DOS (1984) https://www.mobygame[...] 2023-01-06
[30] 웹사이트 The Seven Spirits of Ra for DOS (1987) https://www.mobygame[...] 2023-01-06
[31] 웹사이트 Low Cost RGB to NTSC/PAL Encoder with Luma Trap Port https://www.analog.c[...] 2020-10-18
[32] 웹사이트 Low Cost RGB to NTSC/PAL Encoder with Luma Trap Port https://www.analog.c[...] 2020-10-18
[33] 웹사이트 8088 MPH: CGA in 1024 Colors - a New Mode: the Illustrated Guide https://int10h.org/b[...] 2022-10-15
[34] 웹사이트 1K colours on CGA: How it's done https://www.reenigne[...] 2018-04-27
[35] 뉴스 CGA in 1024 Colors - a New Mode: the Illustrated Guide https://int10h.org/b[...]
[36] Technical Reference IBM Enhanced Graphics Adapter http://www.minuszero[...] 1984-08-02
[37] Technical Reference IBM Color/Graphics Monitor Adapter http://www.minuszero[...]
[38] 웹사이트 Dual-Head operation on vintage PCs https://www.seasip.i[...] 2020-08-16
[39] 웹사이트 Manually Installing the CGA Display Driver https://toogam.com/s[...]
[40] 간행물 The Graphical PC https://books.google[...] 1983-06
[41] 간행물 The Next Generation 1996 Lexicon A to Z Imagine Media 1996-03
[42] 뉴스 IBM's Estridge https://archive.org/[...] 2016-03-19
[43] 뉴스 Paradise Graphics Card: It's Easier Being Green https://books.google[...] 2013-10-25
[44] 문서 vintageibm.net http://vintageibm.ne[...]
[45] 서적 Encyclopaedia of Management of Computer Hardware https://books.google[...] Anmol Publications
[46] 문서 EGA/CGA/VGA9 DB9 Connector http://info-coach.fr[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com